import {fileURLToPath,pathToFileURL} from "url"
import fs from "fs"
export const getControllerUrl=function () {
    let controllerFile=new URL("../controller",import.meta.url).href
    let controllerUrl=fileURLToPath(controllerFile);
   return fs.readdirSync(controllerUrl).filter(item=>item.endsWith("Controller.js")).map(item=> `${controllerFile}/${item}`)
}
export const regControllerUrl=function (router,controllerFiles) {
    controllerFiles.forEach(
       async file=>{
         let {default:obj}= await import (file)
         obj.forEach(
          obj=>{
            if(obj.method==="get") {
             router.get(obj.url,obj.fn)   
            }
            if(obj.method==="post") {
                router.post(obj.url,obj.fn)   
               }
               if(obj.method==="put") {
                router.put(obj.url,obj.fn)   
               }
               if(obj.method==="del") {
                router.delete(obj.url,obj.fn)   
               
               }
             
          }
         )
       }
    )
}

// // 错误：箭头函数体缺少 return
// filter(item => { item.endsWith("Controller.js") })

// // 修正：移除大括号或添加 return
// filter(item => item.endsWith("Controller.js"))


// controllerFile 是 URL 字符串（如 file:///C:/project/controller）
// 直接拼接 ${controllerFile}/${item} 会导致重复的 file: 协议，生成错误路径（如 file:///C:/project/controller/file:/C:/...）